#pragma once
#ifndef __Oculus_RiftManager_h_
#define __Oculus_RiftManager_h_

#include "OVR.h"

class Oculus_RiftManager
{
private:
	OVR::DeviceManager *m_deviceManager;
	OVR::HMDDevice *m_hmd;
	OVR::Util::Render::StereoConfig *m_stereoConfig;
	OVR::SensorDevice *m_sensor;
	OVR::SensorFusion *m_sensorFusion;
	bool m_oculusReady;		/// Has the oculus rift been fully initialised?
	Ogre::Quaternion m_orientation;
	float m_centreOffset;	/// Projection centre offset.

public:
	Oculus_RiftManager();
	~Oculus_RiftManager();
	bool setup();
	bool shutdown();
	void update();
	Ogre::Quaternion getOrientation() const;
	void reserOrientation();
	OVR::Util::Render::StereoConfig* getStereoConfig();
};


#endif // #ifndef __Oculus_KartVRFrameListener_h_